# 1-导入库和实例化
from highcharts import Highchart
chart = Highchart()

# 2-配置项设置
options = {
    'chart': {
        'inverted': False  # 翻转x轴和y轴
    },
    'title': {  # 主标题
        'text': '6000辆车5分钟内的请求次数'
    },
    'subtitle': {  # 副标题
        'text': '6000辆车5分钟内的请求次数'
    },
    'xAxis': {  # x轴设置
        'reversed': False,
        'title': {
            'enabled': True,
            'text': '车辆id范围'
        },
        'labels': {
            'formatter': 'function () {\
                return this.value + "(车id)";\
            }'
        },
        'maxPadding': 0.05,
        'showLastLabel': True
    },
    'yAxis': {  # y轴设置
        'title': {
            'text': '5分钟内的请求次数'
        },
        'labels': {
            'formatter': "function () {\
                return this.value + '(次)';\
            }"
        },
        'lineWidth': 0.5
    },
    'legend': {  # 图例设置
        'enabled': True
    },
    'tooltip': {  # 提示工具设置
        'headerFormat': '<b>{series.name}</b><br/>',
        'pointFormat': '{point.x} (id): {point.y}(次数)'
    }
}

# 3-实例化对象中添加配置
chart.set_dict_options(options)

# 4-绘图所需的数据和添加数据
data = [[] for i in range(0,6001)]
index = 0
with open('2222.txt',mode='rt',encoding='utf-8') as f:
    # for i in f:
    #     print(i)

    for line in f.readlines():
        line = line.strip().split(': ')[-1]
        # print(line)
        data[index].append(index)
        data[index].append(int(line))
        index += 1
print(data)

# data1 =  [[0, 15],
#          [10, -50],
#          [20, -56.5],
#          [30, -46.5],
#          [40, -22.1],
#          [50, -2.5],
#          [60, -27.7],
#          [70, -55.7],
#          [80, -76.5]]

# 添加数据
chart.add_data_set(data, 'spline', '车辆id及对应的请求次数', marker={'enabled': True})
# chart.add_data_set(data1, 'spline', '车辆id及对应的请求次数', marker={'enabled': True})

# 5-在线绘图

chart.save_file()